1. Field of the Invention
The present invention relates to a method and system for providing an unlimited number of users an independently customized broadcast. More particularly, the present invention relates to a method and system for providing a customized radio station with the same variety and control provided today in traditional radio, but customized for each individual end user independently and simultaneously. The radio station generated for each user consists of audio elements that are customized for the individual end user.
2. Background Discussion
Radio broadcasting provides a means for transmission of information and entertainment to millions of radio listeners. Traditional radio broadcasting has required a full radio broadcast station to create and assemble a single set of content (music, advertising, etc.) that is broadcast to all listeners. Current radio broadcasting attempts to tailor its content to the particular audience that the station desires to attract as listeners. For example, some radio stations dedicate programming to talk shows or a particular type of music (contemporary, country, etc.). However, current radio broadcast systems do not tailor content based on particular characteristics and desires of each individual listener.
The emergence of the Internet has provided an alternate transmission media for traditional radio and other types of broadcasts. To use the Internet, broadcast signals must be digitized, packetized, and transmitted to a remote user. Because these broadcasts are digitized, the broadcast signal may be stored for later transmission. An example of a system that provides for later transmission of a broadcast signal is the Internet jukeboxes available from companies such as RealNetworks. The RealNetworks system provides access to a collection of Internet music selected to fit the individual end user. Using the RealNetworks system, a user may select and receive music or other audio content upon demand. Other systems, such as LaunchCast from Launch.com, attempt to construct a collection of Internet music appropriate for the end user by making inferences from user feedback. In these systems, content is provided using xe2x80x9cstreaming audio.xe2x80x9d In other systems, video content is provided using xe2x80x9cstreaming video.xe2x80x9d That is, the audio and video content is embedded for streaming playback within a web page. In addition, these systems stream audio or video to the user by selecting content from the user""s collection either randomly or on demand.
Although known Internet radio broadcast systems have provided some convenience and advantage over traditional radio broadcasts, a number of disadvantages remain. For example, these Internet radio broadcast systems lack the ability to create a customized audio program consisting of carefully controlled variety based upon a user""s preferences, demographics, and listening history. Although some web-based customizable newspapers have been developed that provide customized news based on a user""s preferences and demographics, no system provides a personal radio system that allows the user to customize the radio broadcast content based on the user""s preferences and demographics.
Therefore, a need exists for a personal radio system that is customizable based on the user""s preferences and demographics. More specifically, a need exists for a radio broadcast system that allows a user to select the format and content to be provided within the radio broadcast. In addition, a need exists for a personal radio system that provides a customizable radio experience over the Internet, but still provides the same experience to a listener as if listening to a traditional radio broadcast.
Further, a need exists for other types of server systems that provide other types of customizable content, including video content.
The present invention delivers a custom broadcast, assembled on demand, for each individual user. More particularly, the present invention delivers a custom radio station, assembled on demand, for each listener. Like traditional broadcast radio, the audio experience consists of music introduced by a disk jockey (DJ), jingles, news, sports, weather, stock reports, and advertisements. However, the present invention provides for the transmission of a radio broadcast to an individual listener such that each of these audio elements is customized for the individual end user. More particularly, by maintaining a user profile that represents the preferences and particular interests of a user, and a user state that maintains the recent listening history of the user, the present system generates a uniquely tailored content stream that the user is more likely to enjoy over traditional broadcast radio. The individual""s listening experience is continually refined and improved by modifying the user profile and updating the user state. The present invention modifies the user profile by using information gathered directly from the user, through collaborative filtering of other users, via data-sharing partnerships, and through direct manipulation by radio programmers.
In an embodiment, the present invention includes a personal broadcast server system for providing a customized broadcast to one or more users over a transmission media. The personal broadcast server system includes: a data storage device for storing a plurality of broadcast elements; a data management system for storing a user profile and a user state for each of the one or more users, wherein the data management system further stores information associated with each of the plurality of broadcast elements; a broadcast element selector having one or more broadcast element selection functions, wherein each broadcast element selection function is operable to select broadcast elements from the data storage device based on a user""s user profile, the user""s user state, and the information associated with each of the plurality of broadcast elements; and a broadcast server operable to receive the selected broadcast elements from the data storage device and to provide the selected broadcast elements to the user over the transmission media.
In alternate embodiments, the data storage device of the personal broadcast server system is a file server or a database. In addition, the personal broadcast server system may be implemented as a single computing device, or alternatively, mulitple computing devices.
The personal broadcast server system may also include a history of usage for each of the users. Based on the history of usage, the present invention may prevent broadcast elements from being delivered to a user.
According to the present invention, the personal broadcast server system may be used to provide audio or video elements to a user. In an embodiment, the audio or video elements are streamed over the Internet to the user. The types of audio elements that may be provided to the remote use includes music, advertising, talk by a DJ, or other audio content.
In yet another embodiment of the present invention, the user profiles that are stored in the data management system include initial registration information derived from when the user first logs in. Alternatively, the user profiles include demographic information relating to each user. The user profiles may also include information related to a user""s preferred frequency of content, which may be automatically updated based on the listening patterns of the user.
More specifically, the present invention provides a customized radio broadcast to one or more users by providing a personal radio server system that includes a general purpose computer having a central processing unit and memory for storing user profiles for one or more users. The central processing unit includes a program that causes the central processing unit to produce individual audio streams for each of the one or more users based on the user profiles stored in memory. The individual audio streams may be comprised of one or more audio elements, which may be stored on a filed server.
In another aspect of the present invention, a method of using a personal radio server for transmitting customized radio content to a remote listener over a transmission media is provided. Specifically, the method comprises: storing a plurality of audio elements; dynamically generating and updating a user profile that represents the preferences, demographics, and interests of the remote listener; selecting audio elements to provide to the remote listener based on the remote listener""s preferences, demographics, and interests; and transmitting the audio elements to the remote listener over the transmission media. In alternate embodiments, the method further includes the steps of maintaining a history of the audio elements provided to the remote user, and selecting audio elements to provide to a user based on the history of audio elements previously provided to the remote user.
In yet another embodiment, the method of providing customized radio content of provides for selecting audio elements by receiving and storing a user""s ratings of one or more audio elements; comparing the user""s ratings for the one or more audio elements to ratings from other users; predicting the user""s ratings for different audio elements based on ratings from other users with similar ratings to the user""s ratings of one or more audio elements; and selecting audio elements based on the user""s predicted ratings.
In an alternate embodiment, the method for providing a customized radio broadcast to one or more users over a transmission media includes the steps of generating a user profile for each user; selecting audio elements for each user based on each user""s user profile; forming an individual audio stream for each user from the audio elements; and transmitting the individual audio streams to the one or more users over the transmission media. Alternatively, audio elements may be selected based on the history of audio elements previously provided to the remote user. In yet another embodiment of the invention, audio elements may be selected based on a prediction of the user""s ratings for different audio elements based on ratings from other users with similar ratings to related audio elements. In still another embodiment, the audio elements may be selected by the user on-demand.
The customized radio broadcast server of the present invention may also work with a processor-based communications device operable to receive audio elements over a transmission media. The processor-based communications device may be a personal digital assistant, a wireless communications device, or a personal computer.
In another aspect, the present invention comprises a method for overlapping stored audio elements in a system for providing a customized radio broadcast. Specifically, the method includes the steps of dividing a first audio element into a plurality of audio element components; selecting one of said audio element components; decompressing the selected audio element component; selecting a second audio element; decompressing the second audio element; mixing the decompressed audio element component with the decompressed second audio element to form a mixed audio element component; and compressing the mixed audio element component to form a compressed overlapping audio element component. The compressed overlapping audio element component may replace the selected audio component. The first audio element may be a song, while the second audio element may be a DJ introduction.
In yet another embodiment, the present invention provides an audio element cache. The audio element cache is capable of caching audio elements for each user. In operation, customized radio content is provided to remote listeners in a personal radio server system by: storing a plurality of audio elements in a file server; retrieving a subset of the plurality of audio elements from the file server by predicting the content desired by a remote listener based on a user profile of the remote listener; storing the subset of the plurality of audio elements in an audio element cache; selecting audio elements to provide to a remote listener from the audio element cache; and transmitting the audio elements to the remote listener. In an embodiment, the plurality of audio elements are stored in the audio element cache when a remote listener logs-on the personal radio server system.
In still another aspect, the present invention provides a method of generating a number audio element for playing a desired number in an audio system. Specifically, the method sets forth the steps of storing a plurality of audio elements used to represent a subset of the range of numbers; defining a plurality of match types used to determine if one or more matching audio element exists in the subset of the range of numbers; defining a plurality of accuracy prefixes representative of the error associated with any rounding of the desired number to be played; setting the accuracy prefix to a value representing an exact match between the desired number and a number audio element in the stored subset of audio elements representative of the range of numbers; filtering the audio elements to determine if an exact match exists; if an exact match does not exist, rounding the desired number to a pre-determined level of precision to create an estimated desired number; setting the accuracy prefix to a value representing the error associated with any rounding of the desired number to be played; filtering the audio elements to determine if an exact match exists between the estimated desired number and any of the plurality of audio elements used to represent a subset of the range of numbers; and repeating the steps of filtering until such time as an exact match has been determined between the estimated desired number and any of the plurality of audio elements used to represent a subset of the range of numbers. Once an exact match is determined, the number audio element is transmitted to a remote user.
The number audio element of the present invention may be a stock quote or an announcement of the time. Further, the number audio element may be transmitted in telephone systems, automated teller machines, or other audio system.
The present invention takes advantage of a method for efficiently comparing two trinary logic representations, including the steps of creating a first data structure (referred herein as a VALUE data structure) representative of a first set of properties; creating a second data structure (referred herein as a KNOWN data structure) representative of whether the first set of properties is known; creating a third data structure (referred herein as a TARGET data structure) representative of a target set of properties; creating a fourth data structure (referred herein as a WANT data structure) representative of whether the target set of properties is wanted; and comparing the first, second, third, and fourth data structures using bit-wise binary operations to determine whether the first set of known properties are wanted as a target set of properties. In exemplary embodiments, the bit-wise binary operation are performed according to the Boolean equation: (not WANT) or (KNOWN and ((TARGET xor VALUE))). Alternatively, the bit-wise binary operation are performed according to the Boolean equation: (not WANT) or (KNOWN and ((TARGET and VALUE) or ((not TARGET) and (not (VALUE))). These data structures may be any size computer word, including 16 and 32-bit words.